Information processing apparatus, control method for information processing apparatus, and program

ABSTRACT

The address of an image processing apparatus is set as the network address of an external network of an information processing apparatus, a network address different from the address of the image processing apparatus is set as the network address of a local network, and an address different from these network addresses is distributed to another information processing apparatus.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an information processing apparatusand, more particularly, to an information processing apparatus in animage processing system that includes an information processingapparatus as an extended control apparatus which is appended to an imageprocessing apparatus to extend its functions and flexibility. In thiscase, the image processing apparatus has, e.g., a printer function,image input function, document filing function, documenttransmission/reception function, image conversion function, and thelike.

2. Description of the Related Art

In recent years, most of printers, scanners, FAX apparatuses, or imageprocessing apparatuses which have multi-functions of these apparatusescomprise a network communication function. Some of these imageprocessing apparatuses having the network communication functioncomprise a data transfer function of sending image data to a PC, server,or the like connected via a network.

In such a data transfer function, host protocols such as an SMTPprotocol used to transfer e-mail messages, an HTTP protocol that canimplement i-FAX and file uploading, an FTP protocol used to outputfiles, and the like are used. “HTTP” is short for Hyper Text TransferProtocol, and “FTP” is short for File Transfer Protocol.

On the other hand, as a means for extending functions of an imageprocessing apparatus, a so-called external controller apparatus isavailable. Such an external controller apparatus achieves variousextended functions. For example, the external controller apparatus canextend a network function to convert data of a network (LAN)communication format used in a user environment into data suited to anI/F scheme of the image processing apparatus. Also, the externalcontroller apparatus provides an extended storage function that spoolscommunication data, and a load distribution function that takes oversome processes to be executed by the image processing apparatus or aclient apparatus.

As a connection mode between such an external controller apparatus andimage processing apparatus, the network communication function of theimage processing apparatus may be used upon connection. As theconnection mode in this case, a dual-network mode in which the externalcontroller apparatus is inserted between the image processing apparatusand a LAN, and works as a bridge between the image processing apparatusand LAN is known. Also, a single-network mode in which the imageprocessing apparatus and the external controller apparatus are connectedto the LAN is known.

Upon comparison between the single-network mode and dual-network mode,the dual-network mode does not consume the bandwidth of the LAN since anindependent local network is formed between the external controllerapparatus and image processing apparatus in this mode. The externalcontroller apparatus and image processing apparatus exchange a largevolume of image data. In the dual-network mode, the independent localnetwork can use a transmission scheme of a broader bandwidth than theLAN in such case.

Furthermore, in the dual-network mode, the external controller apparatusand image processing apparatus behave as one network apparatus. On theother hand, in the single-network mode, the external controllerapparatus and image processing apparatus independently consume logicalresources such as network addresses and the like and physical resourcessuch as a hub, ports, and the like. Therefore, the dual-network modeconsumes fewer network resources in the LAN than the single-networkmode.

Japanese Patent Laid-Open No. 2003-99230 discloses a method of providingadditional functional capability by an information processing apparatus(to be referred to as an extended control apparatus hereinafter)connected to an image processing apparatus.

FIG. 16 is a diagram showing an example of a network environment using aconventional extended image processing system.

An extended image processing system 10 is configured by an imageprocessing apparatus 100 and extended control apparatus 101. This systemprovides further extended functions to the image processing apparatus100 which has a printer function, image input function, document filingfunction, document transmission/reception function, image conversionfunction, and the like. A network interface card (to be abbreviated asNIC hereinafter: not shown) of the image processing apparatus 100 and aNIC 20 of the extended control apparatus 101 are connected via a LAN402. Note that the NIC 20 is also called a local NIC, and the LAN 402 isalso called a local network. A NIC 21 of the extended control apparatus101 is connected to an external LAN 400, and communicates with othernetwork nodes via the external LAN 400. Note that the NIC 21 is alsocalled an external NIC, and the external LAN 400 is also called anexternal network.

A client personal computer (to be referred to as a client PChereinafter) 11 is a personal information processing apparatus, and ismainly set on the desktop of the user to execute various applicationprograms. The client PC 11 is connected to the external LAN 400, anduses services provided by other network nodes or provides services toother network nodes via the external LAN 400.

A server computer 12 is a large-scale information processing apparatus,is connected to the external LAN 400, and provides services mainly toother network nodes via the external LAN 400. A printer 13 is anetwork-compatible peripheral device, is connected to the external LAN400, and provides services of the image processing apparatus to othernetwork nodes via the external LAN 400. A router 14 is a network nodewhich connects neighboring networks, and connects a wide area network(WAN) 15 such as the Internet, virtual private network, and the like andthe external LAN 400.

A case will be explained below using FIG. 16 wherein the extendedcontrol apparatus 101 that can provide a secure print applicationfunction is connected to the image processing apparatus 100 which has nosecure print application function.

In the network environment, a print job which is generated at one sitein the network can be printed at another site. In some cases,confidential information or information associated with secrecy inanother aspect must be printed.

Upon transmitting such confidential information to a device, a method oftransmitting a print job encrypted on the client PC 11 side to thedevice, and printing the print job decrypted on the device side isknown. Also, a method of temporarily storing print information sent fromthe client PC 11 by the device, and printing that information when theuser has been successfully authenticated using an IC card or the like onthe device side is also known. In order to assure security protectionagainst electronic eavesdropping of transmission, a print job may begenerally encrypted by an encryption method using a secret key. Also, inorder to permit to view hardcopy printouts without authentication or toelectronically eavesdrop and view print jobs stored in a print queue,authentication using an IC card may be used.

However, when the image processing apparatus 100 is the conventional onewhich does not incorporate any decryption module corresponding to theencryption method for each client PC 11 or does not incorporate anydecryption module or user authentication system, a secure print functioncannot be used.

The extended control apparatus 101 is used as a means for extending thefunctions of the image processing apparatus 100. The extended controlapparatus 101 incorporates a decryption module corresponding to theencryption method for each client PC 11, and provides the decryptionmodule and user authentication system to the conventional imageprocessing apparatus, thus allowing the image processing apparatus 100to use the secure print function. A secure print application of theextended control apparatus 101 receives encrypted print data from theclient PC 11 using an LPD protocol, and stores the received data in astorage device in the extended control apparatus 101. When the user hasbeen authenticated using an IC card or the like, the secure printapplication transmits the stored print data to the image processingapparatus 100, thereby printing that data.

Note that the extended control apparatus 101 is transparent to theclient PC 11, and the image processing apparatus 100 seems as if it wereprocessing the secure print function.

FIG. 17 is a diagram showing another example of the network environmentthat uses the conventional extended image processing system. The systemshown in FIG. 17 is the same as that shown in FIG. 17, except forfunctions of an extended control apparatus 102.

A case will be described below using FIG. 17 wherein the extendedcontrol apparatus 102 which can provide an e-mail print applicationfunction is connected to the image processing apparatus 100 which doesnot have any e-mail print application function.

In the network environment, a print job which is generated at one sitein the network can be printed at another site. In some cases, the imageprocessing apparatus 100 is connected to the external network via afirewall having a function of blocking external invasions and attacksand so forth, and access to the image processing apparatus 100 exceptfor e-mail is inhibited. However, even when access other than e-mail isinhibited, printing must be done depending on circumstances.

Upon transmitting a print job to the image processing apparatus 100connected via the firewall, the following methods are known. That is,the client PC 11 side attaches the print job to an e-mail message, andtransmits that e-mail message to the image processing apparatus 100.Then, the image processing apparatus 100 side prints the print jobattached to the received e-mail message, or picks up the e-mail messageincluding print information sent from the client PC 11 from a POPserver, and prints the print information.

However, when the image processing apparatus 100 is the conventional onewhich does not incorporate any SMTP server function or POP clientfunction, an e-mail print function cannot be used.

However, the extended control apparatus 102 is used as a means forextending the functions of the image processing apparatus 100. Since theextended control apparatus 102 incorporates the SMTP server function andprovides the POP client function to the conventional image processingapparatus, the image processing apparatus 100 can use the e-mail printfunction. The e-mail print application of the extended control apparatus102 receives an e-mail message including print information transmittedfrom the client PC 11, and transmits the print information to the imageprocessing apparatus 100, thus printing the print information.

Note that the extended control apparatus 102 is transparent to theclient PC 11, and the image processing apparatus 100 seems as if it wereprocessing the e-mail print function.

According to the method disclosed in Japanese Patent Laid-Open No.2003-99230, the IP address of the external NIC of the extended controlapparatus uses that of the image processing apparatus, and that of thelocal NIC is assigned an IP address, which is registered in advance.

The destination address of print data from the client PC is that of theexternal NIC of the extended control apparatus. A communication is madeso that the destination address of the print data from the extendedcontrol apparatus to the image processing apparatus is that of the NICof the image processing apparatus, and the source address is that of thelocal NIC of the extended control apparatus.

However, the technique disclosed in Japanese Patent Laid-Open No.2003-99230 poses the following problem upon daisy-chain connecting aplurality of extended control apparatuses between the LAN and imageprocessing apparatus. That is, since the technique disclosed in JapanesePatent Laid-Open No. 2003-99230 does not take a combination of functionsprovided by the respective extended control apparatuses intoconsideration, the same IP address may be assigned to the local NICs ofthe respective extended control apparatuses. For this reason, this posesa problem for communications between application modules on therespective extended control apparatuses and those on the imageprocessing apparatus.

Such a problem is not specific to the image processing apparatus andextended control apparatus, but is common in daisy-chains connecting theimage processing apparatus and a plurality of information processingapparatuses via a local network.

SUMMARY OF THE INVENTION

The present invention provides a technique that can prevent the sameaddress from being assigned to local NICs of respective informationprocessing apparatuses even when a plurality of information processingapparatuses are daisy-chain connected between an external LAN and imageprocessing apparatus.

An information processing apparatus according to one aspect of thepresent invention is an information processing apparatus which cancommunicate with an image processing apparatus, the informationprocessing apparatus comprising: a first network interface adapted toconnect the image processing apparatus via a network; a second networkinterface adapted to connect other information processing apparatus viaa network; a first setting unit adapted to set a network address of theimage processing apparatus as a network address of the second networkinterface; a second setting unit adapted to set a network addressdifferent from the network address set by the first setting unit as anetwork address of the first network interface; a determining unitadapted to determine a network address different from the networkaddress set by the first setting unit and the network address set by thesecond setting unit as a network address of the other informationprocessing apparatus based on the network address set by the firstsetting unit and the network address set by the second setting unit; anda transmitting unit adapted to transmit the network address determinedby the determining unit to the other information processing apparatus.

An information processing apparatus according to another aspect of thepresent invention is an information processing apparatus which cancommunicate with an image processing apparatus, the informationprocessing apparatus comprising: a network interface adapted to connectthe image processing apparatus and other information processingapparatus via a network; a first setting unit adapted to set a networkaddress of the image processing apparatus as a network address of thenetwork interface; a second setting unit adapted to set a networkaddress different from the network address set by the first setting unitas a network address of the network interface; a first determining unitadapted to determine a network address different from the networkaddress set by the first setting unit and the network address set by thesecond setting unit as a network address of the other informationprocessing apparatus based on the network address set by the firstsetting unit and the network address set by the second setting unit; anda transmitting unit adapted to transmit the network address determinedby the first determining unit to the other information processingapparatus.

An information processing apparatus according to still another aspect ofthe present invention is an information processing apparatus which cancommunicate with an image processing apparatus, the informationprocessing apparatus comprising: a first network interface adapted toconnect other information processing apparatus, which is connected tothe image processing apparatus via a first network, via a second networkdifferent from the first network; a second network interface adapted toconnect a third network different from the first network and the secondnetwork; a first setting unit adapted to set a network address of theimage processing apparatus as a network address of the second networkinterface; a receiving unit adapted to receive a network addressdifferent from a network address set in the other information processingapparatus from the other information processing apparatus; and a secondsetting unit adapted to set the network address received by thereceiving unit as a network address of the first network interface.

An information processing apparatus according to still another aspect ofthe present invention is an information processing apparatus which cancommunicate with an image processing apparatus, the informationprocessing apparatus comprising: a first network interface adapted toconnect other information processing apparatus, which is connected tothe image processing apparatus via a first network, via a second networkdifferent from the first network; a second network interface adapted toconnect a third network different from the first network and the secondnetwork; a first setting unit adapted to set a network address of theimage processing apparatus as a network address of the second networkinterface; a receiving unit adapted to receive a network addressdifferent from a network address set in the other information processingapparatus from the other information processing apparatus; and a secondsetting unit adapted to set a network address different from the networkaddress received by the receiving unit as a network address of the firstnetwork interface.

A method of controlling an information processing apparatus according tostill another aspect of the present invention is a method of controllingan information processing apparatus which can communicate with an imageprocessing apparatus, the method comprising: a first setting step ofsetting a network address of the image processing apparatus as a networkaddress of a second network interface out of a first network interfaceadapted to connect the image processing apparatus via a network, and thesecond network interface adapted to connect other information processingapparatus via a network; a second setting step of setting a networkaddress different from the network address set in the first setting stepas a network address of the first network interface; a first determiningstep of determining a network address different from the network addressset in the first setting step and the network address set in the secondsetting step as a network address of the other information processingapparatus based on the network address set in the first setting step andthe network address set in the second setting step; and a transmittingstep of transmitting the network address determined in the firstdetermining step to the other information processing apparatus.

A method of controlling an information processing apparatus according tostill another aspect of the present invention is a method of controllingan information processing apparatus which can communicate with an imageprocessing apparatus, the method comprising: a first setting step ofsetting a network address of the image processing apparatus as a networkaddress of a second network interface out of a first network interfaceadapted to connect other information processing apparatus, which isconnected to the image processing apparatus via a first network, via asecond network different from the first network, and the second networkinterface adapted to connect a third network different from the firstnetwork and the second network; a receiving step of receiving a networkaddress different from a network address set in the other informationprocessing apparatus from the other information processing apparatus;and a second setting step of setting the network address received in thereceiving step as a network address of the first network interface.

A method of controlling an information processing apparatus according tostill another aspect of the present invention is a method of controllingan information processing apparatus which can communicate with an imageprocessing apparatus, the method comprising: a first setting step ofsetting a network address of the image processing apparatus as a networkaddress of a second network interface out of a first network interfaceadapted to connect other information processing apparatus, which isconnected to the image processing apparatus via a first network, via asecond network different from the first network, and the second networkinterface adapted to connect a third network different from the firstnetwork and the second network; a receiving step of receiving a networkaddress different from a network address set in the other informationprocessing apparatus from the other information processing apparatus;and a second setting step of setting a network address different fromthe network address received in the receiving step as a network addressof the first network interface.

A program according to still another aspect of the present invention isa computer-executable program which implements a method of controllingan information processing apparatus which can communicate with an imageprocessing apparatus, the program being comprising: a first setting stepof setting a network address of the image processing apparatus as anetwork address of a second network interface out of a first networkinterface adapted to connect the image processing apparatus via anetwork, and the second network interface adapted to connect otherinformation processing apparatus via a network; a second setting step ofsetting a network address different from the network address set in thefirst setting step as a network address of the first network interface;a first determining step of determining a network address different fromthe network address set in the first setting step and the networkaddress set in the second setting step as a network address of the otherinformation processing apparatus based on the network address set in thefirst setting step and the network address set in the second settingstep; and a transmitting step of transmitting the network addressdetermined in the first determining step to the other informationprocessing apparatus.

A program according to still another aspect of the present invention isa computer-executable program which implements a method of controllingan information processing apparatus which can communicate with an imageprocessing apparatus, the program being comprising: a first setting stepof setting a network address of the image processing apparatus as anetwork address of a second network interface out of a first networkinterface adapted to connect other information processing apparatus,which is connected to the image processing apparatus via a firstnetwork, via a second network different from the first network, and thesecond network interface adapted to connect a third network differentfrom the first network and the second network; a receiving step ofreceiving a network address different from a network address set in theother information processing apparatus from the other informationprocessing apparatus; and a second setting step of setting the networkaddress received in the receiving step as a network address of the firstnetwork interface.

A program according to still another aspect of the present invention isa computer-executable program which implements a method of controllingan information processing apparatus which can communicate with an imageprocessing apparatus, the program being comprising: a first setting stepof setting a network address of the image processing apparatus as anetwork address of a second network interface out of a first networkinterface adapted to connect other information processing apparatus,which is connected to the image processing apparatus via a firstnetwork, via a second network different from the first network, and thesecond network interface adapted to connect a third network differentfrom the first network and the second network; a receiving step ofreceiving a network address different from a network address set in theother information processing apparatus from the other informationprocessing apparatus; and a second setting step of setting a networkaddress different from the network address received in the receivingstep as a network address of the first network interface.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of the specification, illustrate embodiments of the invention and,together with the description, serve to explain the principles of theinvention.

FIG. 1 is a diagram showing an example of a network environment thatuses an extended image processing system according to the presentembodiment.

FIG. 2 is a block diagram of the extended image processing system as thecombination of an image processing apparatus and extended controlapparatuses according to the present embodiment.

FIG. 3 is a block diagram showing the hardware arrangement of acontroller apparatus of the image processing apparatus according to thepresent embodiment.

FIG. 4 is a block diagram showing the software module configuration ofthe controller apparatus of the image processing apparatus according tothe present embodiment.

FIG. 5 is an explanatory view showing a basic dialog displayed on adisplay unit of an operation unit of the image processing apparatusaccording to the present embodiment.

FIG. 6 is a block diagram showing the hardware arrangement of oneextended control apparatus according to the present embodiment.

FIG. 7 is a block diagram showing the software module configuration ofthe extended control apparatus according to the present embodiment.

FIG. 8 is a block diagram showing the hardware arrangement of the otherextended control apparatus according to the present embodiment.

FIG. 9 is a block diagram showing the software module configuration ofthe extended control apparatus according to the present embodiment.

FIG. 10 is a chart showing an example of a local address requestsequence according to the present embodiment.

FIG. 11 is a flowchart showing the processing sequence in the imageprocessing apparatus upon settlement of the local addresses according tothe present embodiment.

FIG. 12 is a flowchart showing the processing sequence of a packetcontroller of the extended control apparatus according to the presentembodiment.

FIG. 13 is a flowchart showing the processing sequence of a localaddress distribution module which runs on the extended control apparatusaccording to the present embodiment.

FIG. 14 is an explanatory view showing an example of the packet headerof a configurator protocol.

FIG. 15 is a schematic view showing the structure of a data part of thepacket in the configurator protocol.

FIG. 16 is a diagram showing an example of a network environment thatuses a conventional extended image processing system.

FIG. 17 is a diagram showing another example of a network environmentthat uses a conventional extended image processing system.

DESCRIPTION OF THE EMBODIMENTS

Embodiments of the present invention will be described in detailhereinafter. Note that an embodiment of the present invention willexemplify extension of the functions of an image processing apparatus.However, the present invention is not limited to the image processingapparatus, but it can be applied to similar extension methods, and alsoincludes such applications. In the embodiment of the present invention,two functions, i.e., a secure print function and e-mail print function,will be explained as extended functions of the extended controlapparatus. However, the present invention is not characterized by theextended functions themselves, but it is characterized by theconfigurations and operations upon connecting a plurality of extendedcontrol apparatuses. Hence, the extended functions are not particularlylimited.

<Configuration Example of Network Including Extended Image ProcessingSystem of The Present Embodiment>

FIG. 1 is a diagram showing an example of a network environment thatuses an extended image processing system according to the presentembodiment.

An extended image processing system 10 is configured by an imageprocessing apparatus 100, extended control apparatus 101, and extendedcontrol apparatus 102. In the extended image processing system 10, theextended control apparatuses 101 and 102 further provide two extendedfunctions to the image processing apparatus 100 which has a printerfunction, image input function, document filing function, documenttransmission/reception function, image conversion function, and thelike.

As shown in FIG. 1, the image processing apparatus 100 as an apparatuswhose functions are to be extended, and the extended control apparatuses101 and 102 are daisy-chain connected via internal LANs 401 and 402.More specifically, a NIC (not shown) of the image processing apparatusis connected to a local NIC 20-1 of the extended control apparatus 101via the internal LAN 402. Also, an external NIC 21-1 of the extendedcontrol apparatus 101 is connected to a local NIC 20-2 of the extendedcontrol apparatus 102 via the internal LAN 401. Furthermore, an externalNIC 21-2 of the extended control apparatus 102 is connected to anexternal LAN 400, and the extended image processing system 10communicates with other network nodes via the external LAN 400.

A client PC 11 is a personal information processing apparatus, and ismainly set on the desktop of the user to execute various applicationprograms. The client PC 11 is connected to the external LAN 400, anduses services provided by other network nodes or provides services toother network nodes via the external LAN 400.

A server computer 12 is a large-scale information processing apparatus,is connected to the external LAN 400, and provides services mainly toother network nodes via the external LAN 400.

A printer 13 is a network-compatible peripheral device, is connected tothe external LAN 400, and provides services of the image processingapparatus to other network nodes via the external LAN 400.

A router 14 is a network node which connects neighboring networks, andconnects a wide area network (WAN) 15 such as the Internet, virtualprivate network, and the like and the external LAN 400.

The external LAN 400 is a local network laid down in a user's office orthe like.

<Arrangement Example of Extended Image Processing System of The PresentEmbodiment>

FIG. 2 is a block diagram of the extended image processing system as acombination of the image processing apparatus 100 and extended controlapparatuses 101 and 102 according to the present embodiment.

(Schematic Arrangement Example of Image Processing Apparatus 100)

The image processing apparatus 100 provides various basic imageprocessing functions such as a printer function, image input function,document filing function, document transmission/reception function,image conversion function, and the like.

A reader unit (image input device) 200 optically reads a document imageand converts it into image data. The reader unit 200 includes a scannerunit 210 which has a function of reading a document, and a document feedunit 250 which has a function of feeding document sheets.

A printer unit (image output device) 300 conveys a print sheet, printsimage data on the print sheet as a visible image, and discharges theprint sheet outside the apparatus. The printer unit 300 includes amarking unit 310, feeder unit 360, and paper paper discharge unit 370.The marking unit 310 has a function of transferring and fixing imagedata on a print sheet. The feeder unit 360 has a plurality of differenttypes of paper cassettes. The paper discharge unit 370 has a function ofsorting and stapling printed print sheets, and discharging the stapledprinted sheets outside the apparatus.

A controller apparatus 110 is electrically connected to the reader unit200 and printer unit 300, and is also connected to the external LAN 400.The controller apparatus 110 provides a copy function by controlling thereader 200 to read image data of a document, and controlling the printerunit 300 to output the image data onto a print sheet. Also, thecontroller apparatus 110 provides a scanner function by converting imagedata read by the reader unit 200 into code data, and transmitting thecode data to a client apparatus (not shown) via the external LAN 400.Furthermore, the controller apparatus 110 provides a printer function byconverting code data received from a client apparatus via the externalLAN 400 into image data, and outputting the converted image data to theprinter unit 300.

An operation unit 150 is connected to the controller apparatus 110, andcomprises a liquid crystal touch panel. The operation unit 150 providesa user I/F required to operate an image input/output system.

(Schematic Arrangement Example of Extended Control Apparatuses 101 and102)

The extended control apparatus 101 includes a controller 171 andperipheral device 172. The controller 171 can execute software programsincluding an operating system, various device drivers, and variousapplication programs. The peripheral device 172 includes various typesof peripheral devices, which extend the hardware of the extended controlapparatus 101.

The extended control apparatus 102 includes a controller 173. Thecontroller 173 execute software programs including an operating system,various device drivers, and various application programs.

The image processing apparatus 100 and extended control apparatus 101are connected via the internal LAN 402 and can communicate with eachother. The extended control apparatus 102 is connected to the extendedcontrol apparatus 101 via the internal LAN 401, and can communicate withthe image processing apparatus 100 in two ways.

<Arrangement Example of Image Processing Apparatus 100 of The PresentEmbodiment>

(Hardware Arrangement Example of Image Processing Apparatus 100)

FIG. 3 is a block diagram showing an example of the hardware arrangementof the controller apparatus 110 of the image processing apparatus 100.

A main controller 111 mainly comprises a CPU 112, bus controller 113,and various I/F controller circuits.

The CPU 112 and bus controller 113 control the operations of the overallcontroller apparatus 110. The CPU 12 operates based on a program whichis loaded from a ROM 114 via a ROM I/F 115. Such a program describes anoperation for interpreting PDL (page description language) code datareceived from a client apparatus and rasterizing it to raster imagedata, and that operation is processed by software. The bus controller113 controls data transfer input/output from respective I/Fs, andcontrols arbitration upon bus contention and DMA data transfer.

A DRAM 116 is connected to the main controller 111 via a DRAM_I/F 117,and is used as a work area to operate the CPU 112, and an area used tostore image data.

A codec 118 compresses raster image data stored in the DRAM 116 by amethod such as MH, MR, MMR, JBIG, JPEG, or the like, and decompressesthe compressed stored code data to raster image data. An SRAM 119 isused as a temporal work area of the codec 118. The codec 118 isconnected to the main controller 111 via an I/F 120. The bus controller113 controls data transfer between the codec 118 and DRAM 16 to attainDMA transfer.

A graphic processor 135 executes processing such as image rotation,variable magnification processing, color space conversion, and the like.An SRAM 136 is used as a temporary work area for the graphic processor135.

An external communication I/F controller 121 is connected to the maincontroller 111 via a connector 122, and is connected to an externalnetwork via the connector 122.

To a general high-speed bus 125, an extension connector 124 used toconnect an extension board and an I/O controller 126 are connected. Thegeneral high-speed bus 125 normally adopts a PCI bus.

The I/O controller 126 is equipped with an asynchronous serialcommunication controller 127 of two channels, which is used to exchangecontrol commands with the CPUs of the reader unit 200 and printer unit300. The asynchronous serial communication controller 127 is connectedto a scanner I/F 140 and printer I/F 145 as external I/F circuits.

A panel I/F 132 is connected to an LCD controller 131, and includes anI/F required to make display on a liquid crystal screen of the operationunit 150, and a key input I/F 130 used to attain inputs of hardware keysand touch panel keys.

The operation unit 150 has a liquid crystal display unit, a touch panelinput device adhered onto the liquid crystal display unit, and aplurality of hardware keys. A signal input by some touch panel key orhardware key is sent to the CPU 112 via the aforementioned panel I/F132, and the liquid crystal display unit displays image data sent fromthe panel I/F 132. The liquid crystal display unit displays functionsupon operation of the image processing apparatus 100, image data, andthe like.

A real-time clock module 133 updates/saves the date and time managedinside the device, and is backed up by a backup battery 134.

An E-IDE connector 161 is used to connect an external storage device. Inthe present embodiment, a hard disk drive (HD drive) 160 is connected tothe E-IDE connector 161, so that image data is stored in a hard disk(HD) 162 or is read out from the hard disk 162.

A connector 142 is connected to the reader unit 200, and includes anasynchronous serial I/F 143 and video I/F 144. A connector 147 isconnected to the printer unit 300, and includes an asynchronous serialI/F 148 and video I/F 149.

The scanner I/F 140 is connected to the reader unit 200 via theconnector 142, and is connected to the main controller 111 via a scannerbus 141. The scanner I/F 140 has a function of applying predeterminedprocessing to an image received from the reader unit 200. Furthermore,the scanner I/F 140 has a function of outputting a control signalgenerated based on a video control signal sent from the reader unit 200onto the scanner bus 141.

The bus controller 113 controls data transfer from the scanner bus 141to the DRAM 116.

The printer I/F 145 is connected to the printer unit 300 via a connector147, and is connected to the main controller 111 via a printer bus 146.The printer I/F 145 has a function of applying predetermined processingto image data output from the main controller 111, and outputting theprocessed data to the printer unit 300. Also, the printer I/F 145 has afunction of outputting a control signal generated based on a videocontrol signal sent from the printer unit 300 onto the printer bus 146.

The bus controller 113 controls transfer of raster image data rasterizedon the DRAM 116 to the printer unit 300. In other words, the rasterimage data rasterized on the DRAM 116 is DMA-transferred to the printerunit 300 via the printer bus 146 and the video I/F 149.

(Software Configuration Example of Image Processing Apparatus 100)

FIG. 4 is a block diagram showing an example of the software moduleconfiguration of the controller apparatus 110 of the image processingapparatus 100. Such software modules are stored in the ROM 114. Notethat these software modules may be stored in the RAM or may be loadedfrom a disk onto the RAM.

Software processed by the controller apparatus 110 incorporated in theimage processing apparatus 100 is implemented as so-called firmware,which is executed by the CPU 112.

A real-time OS 5001 is a real-time operating system, and providesvarious resource management services and frameworks optimized to controlan embedded system for software programs that run on the OS. Variousresource management services and frameworks provided by the real-time OS5001 include: for example, multitask management (thread management) thatmakes a plurality of processes operate substantially in parallel bymanaging a plurality of executable contexts of processes by the CPU; aprotocol stack which implements processes of various protocols such asinter-task communications that implement synchronization and dataexchange between tasks, memory management, interrupt management, variousdevice drivers, local interfaces, networks, communications, and thelike; and so forth.

A file system 5002 is a mechanism which is 25 built up on storagedevices such as a hard disk, memories, and the like, and is required tostore data. The file system 5002 is used to spool jobs to be handled bythe controller apparatus 110 of the image processing apparatus 100 andto save various data.

A job control/device control module 5003 controls the hardware of theimage processing apparatus 100, and also controls jobs which use basicfunctions (print, scan, communication, image conversion, and the like)mainly provided by the hardware of the image processing apparatus 100.

A management module 5004 controls the internal state associated with theoperation of the controller apparatus 110 of the image processingapparatus 100. In other words, the management module 5004 manages theoperation of the controller apparatus 110.

A control API 5005 is an application programming interface which isprovided so as to allow an embedded application group higher than thislayer to use services provided by a software module group lower thanthis layer.

A network service 5006 allows an external network node such as theclient PC or the like to use the basic functions of the apparatusthrough mutual conversion of the control API 5005 and network protocol.In particular, the network service 5006 comprises a network serverfunction which implements various protocols (LPR, NetWare, SMB, PAP,IPP, and the like) for the network print function. With this function,the network service 5006 allows the external network node such as theclient PC or the like to input print jobs.

The network service 5006 provides secure network connections implementedby an encryption technique and the like. The network service 5006 alsoprovides a mechanism for easily tunneling non-secure TCP connectionsusing Secure Shell (secsh or SSH) of IETF.

An embedded application logic 5007, presentation interface 5008, andembedded application UI 5009 configure an embedded application. Theembedded application implements higher-level functions such as copy,image scan, document transmission/reception, document filing, and thelike in addition to the basic functions of the image processingapparatus 100 using the basic functions of the control API 5005.

The embedded application logic 5007 corresponds to a business logic ofthe embedded application.

The presentation interface 5008 is an interface provided to separate thebusiness logic and presentation logic of the embedded application.

The embedded application UI 5009 corresponds to the presentation logicof the embedded application. The embedded application UI 5009 controlsdisplay and inputs on a graphical user interface (GUI) that allows theuser to manipulate the embedded application. The embedded application UI5009 provides a local user interface on the operation unit 150 of theimage processing apparatus 100. Furthermore, the embedded application UI5009 also provides a Web application implemented using a markup languagesuch as HTML or the like and Web techniques such as HTTP and the like.

The user can remote control the image processing apparatus 100 byconnecting the Web application from a Web browser which runs on theclient PC 11 or the like. In the present embodiment, a presentationlayer of the embedded application implemented as the Web applicationwill be referred to as a remote UI.

An embedded Java™ environment 5010 is an interpreter environmentconfigured with a focus on a Java™ virtual machine. The embedded Java™environment 5010 loads and combines instruction string data describedusing Java™ byte codes, and the Java™ virtual machine sequentially loadsand interprets instructions and executes them. With this environment, onthe entire firmware which is statically combined to a single load moduleas well as the real-time OS 5001, the extensibility and flexibility thatallows for dynamic addition or replacement of software even verypartially can be assured.

A Java™ Native Interface (JNI) provides firmware (native system)resources including the real-time OS 5001, job control/device controlmodule 5003, control API 5005, and the like. Furthermore, the JNIprovides a Java™ class library group which allows a Java™ program to useservices. The basic part of embedded Java™ environment 5010 is built upwith well-known Java™ 2 Platform, Micro Edition.

The embedded application logic 5007 in the image processing apparatus100 can be controlled from the presentation logic implemented by anapplication in the system of the extended control apparatus 101.

The image processing apparatus 100 stores a flag used to control whetheror not it cooperates with the extended control apparatus 101, and thisflag is stored in a nonvolatile memory or the like (not shown).

(Display Example of Liquid Crystal Display Unit of Image ProcessingApparatus 100)

FIG. 5 is an explanatory view showing a basic dialog displayed on theliquid crystal display unit of the operation unit 150 of the imageprocessing apparatus 100.

The basic dialog shown in FIG. 5 is implemented by a touch panel, andwhen the user touches a frame of each individual displayed function,that function is executed. A copy mode key 524 is pressed when the userwants to perform a copy operation. Upon pressing the copy mode key 524,a copy mode window 530 is displayed. An extended function key 501 ispressed to enter a mode for settings of double-sided copy,multiple-copy, move, and binding margin, a setting of frame erasure, andthe like.

A status line 540 displays messages indicating the device status andprint information. In FIG. 5, the status line 540 displays that theapparatus is ready to copy.

An image mode key 502 is pressed to enter a setting mode required toapply hatching, shadow-casting, trimming, and masking to a copy image. Auser mode key 503 is pressed to register a mode memory and to set adefault mode dialog. An applied zoom key 504 is pressed to enter a modefor applying independent magnification processing in the X- andY-directions of a document, and a zoom mode program for calculating thevariable magnification ratio based on the document size and copy size.Each of an M1 key 505 M2 key 506, and M3 key 507 is pressed to call theregistered mode memory. An option key 509 is pressed to make settings ofan option function such as a film projector or the like so as todirectly copy from a film. A sorter key 510 is pressed to make sort,non-sort, and group settings. A document mixed loading key 511 ispressed when A4- and A3-sized documents or B5- and B4-sized documentsare set on a document feeder together.

An equal magnification key 512 is pressed to set a copy magnification to100%. A reduction key 514 and enlargement key 515 are pressed to performreduction and enlargement of given sizes. A paper selection key 513 ispressed to select copy paper. Density keys 518 and 520 are pressed toadjust the density. Every time the density key 518 is pressed, the copydensity increases. Every time the density key 520 is pressed, the copydensity decreases. A density indicator 517 changes its display contentsto the right or left upon pressing of the density keys 518 and 520. AnAE key 519 is pressed to automatically adjust the density of a documentwith a dark background like a newspaper and to copy such a document. AHiFi key 521 is pressed upon copying a document with a high halftonedensity like a photo document. A text emphasis key 522 is pressed toemphasize text upon copying a text document. A log key 560 is pressed todisplay log information of printed jobs. Upon pressing the log key 560,information including the end times user name, file name, the number ofprinted pages, and the like of each print job is displayed. A printerselection key 600 is pressed to select a receiving-side copying machineupon executing remote copy or tandem copy.

A guide key 523 is pressed when the user wants to know the function of agiven key, and displays an explanation of that key. A FAX key 525 ispressed to execute FAX transmission/reception. A Box key 526 is pressedto display a Box function. A printer key 527 is pressed when the userwants to change the print density, or when he or she wants to refer toprintout detailed information of PDL data from a remote clientapparatus.

<Arrangement Example of Extended Control Apparatus 101 of The PresentEmbodiment>

(Hardware Arrangement Example of Extended Control Apparatus 101)

FIG. 6 is a block diagram showing an example of the hardware arrangementof the extended control apparatus 101 according to the presentembodiment.

A CPU 4101 is a central processing unit which controls the overallextended control apparatus 101, and executes programs stored in a ROM4105 and hard disk unit 4106. A network interface 4102 is a controllerrequired to make data communications with other devices via a network.

Software executed by the CPU 4101 can exchange data in two ways with aprint device or other network devices or other computers via theexternal LAN 400. A peripheral device interface 4103 is a controllerrequired to control the peripheral device 172.

A memory 4104 is a volatile storage unit used to store instructions tobe executed by the CPU 4101, data, and the like. The ROM 4105 is aread-only storage unit used to store programs, data, and the likerequired to execute basic hardware control. The hard disk unit 4106 is anonvolatile storage unit used to store programs to be executed by theextended control apparatus 101, calculated data, and the like. The harddisk unit 4106 stores a boot program (startup program: a program forinitiating executions (operations) of hardware and software), aplurality of applications, edit files, user files, network managementprograms, and the like. The hard disk unit 4106 has an address table4106 a required for a local address distribution unit (to be describedlater) to distribute non-overlapping local addresses.

The peripheral device interface 4103 is a controller which implementsthe specifications such as USB, RS-232C serial, IEEE1394, and the like,and is required to connect the peripheral device 172. The peripheraldevice 172 comprises, e.g., a user authentication device required tospecify the user or the like. The local NIC 20-1 is a controllerrequired to make data communications with the image processing apparatus100 via the network. The external NIC 21-1 is a controller required tomake data communications with client apparatuses on the external networkvia the network.

(Software Configuration Example of Extended Control Apparatus 101)

FIG. 7 is a block diagram showing an example of the software moduleconfiguration of the extended control apparatus 101 according to thepresent embodiment.

Software to be processed by the controller 171 incorporated in theextended control apparatus 101 is implemented as so-called firmware, andis executed by the CPU 4101 of the extended control apparatus 101.

A local network driver 2001 is connected to the internal LAN 402 tocontrol the local NIC 20-1 and to exchange data with the imageprocessing apparatus 100.

An external network driver 2002 is connected to the internal LAN 401 tocontrol the NIC 21-1 and to exchange data with the extended controlapparatus 102 and external LAN 400.

A network communication controller 2003 controls network communicationprotocols such as TCP/IP and the like, and exchanges data between thelocal side and external side.

A secure print application unit 2004 is required to execute an encryptedsecured print function. More specifically, the secure print applicationunit 2004 receives an encrypted print job from the client PC 11 using anLPD protocol. The encrypted print job is stored in the hard disk unit4106 intact. The secure print application unit 2004 decrypts theencrypted print job stored in the hard disk unit 4106 and actuallyprints that print job using the image processing apparatus 100 only whenuser authentication is confirmed.

The network communication controller 2003 examines all packets receivedby the local network driver 2001, and controls packets which are notrelated to the secure print application unit 2004 to pass through theapparatus to the external NIC 21-1. Also, the network communicationcontroller 2003 examines all packets received by the external NIC 21-1,and controls packets which are not related to the secure printapplication unit 2004 to pass through the apparatus to the local NIC20-1. Furthermore, upon reception of packets by the local network driver2001, the network communication controller 2003 checks if both the NICsof the extended control apparatus 101 are set with network addresses. Ifit is determined that both the NICs are set with network addresses, thenetwork communication controller 2003 controls packets other than thoseaddressed to the apparatus to pass through the apparatus. If it isdetermined that both the NICs are not set with network addresses, thenetwork communication controller 2003 captures the received packetswithout passing them through. Upon reception of packets by the externalnetwork driver 2002, the network communication controller 2003 controlspackets other than those addressed to the apparatus to pass through theapparatus irrespective of whether or not the network addresses are set.

A local address request unit 2005 transmits a local address requestpacket which requests the local address of the local NIC 20-1. A localaddress distribution unit 2006 distributes the address of the NIC 21-2of the extended control apparatus 102, which is daisy-chain connected tothe apparatus, in response to a local address request packet from theextended control apparatus 102. The local address distribution unit(local address distribution module) 2006 has an address table 2006 a(corresponding to 4106 a in FIG. 6) used to distribute non-overlappinglocal addresses.

<Arrangement Example of Extended Control Apparatus 102 of The presentEmbodiment>

(Hardware Arrangement Example of Extended Control Apparatus 102)

FIG. 8 is a block diagram showing an example of the hardware arrangementof the extended control apparatus 102 according to the presentembodiment.

A CPU 4201 is a central processing unit which controls the overallextended control apparatus 102, and executes programs stored in a ROM4205 and hard disk unit 4206. A network interface 4202 is a controllerrequired to make data communications with other devices via a network.Software executed by the CPU 4201 can exchange data in two ways with aprint device or other network devices or other computers via theexternal LAN 400.

A memory 4204 is a volatile storage unit used to store instructions tobe executed by the CPU 4201, data, and the like. The ROM 4205 is aread-only storage unit used to store programs, data, and the likerequired to execute basic hardware control. The hard disk unit 4206 is anonvolatile storage unit used to store programs to be executed by theextended control apparatus 102, calculated data, and the like. The harddisk unit 4206 stores a boot program (startup program: a program forinitiating executions (operations) of hardware and software), aplurality of applications, edit files, user files, network managementprograms, and the like.

The local NIC 20-2 is a controller required to make data communicationswith the image processing apparatus 100 via the network. The externalNIC 21-2 is a controller required to make data communications with theclient PC 11 on the external network via the network.

(Software Configuration Example of Extended Control Apparatus 102)

FIG. 9 is a block diagram showing an example of the software moduleconfiguration of the extended control apparatus 102 according to thepresent embodiment.

Software to be processed by the controller 173 incorporated in theextended control apparatus 102 is implemented as so-called firmware, andis executed by the CPU 4201 of the extended control apparatus 102.

A local network driver 2201 controls the local NIC 20-2 connected to theinternal LAN 401, and exchanges data with the image processing apparatus100 and extended control apparatus 101.

An external network driver 2202 is connected to the external LAN 400 tocontrol the NIC 21-2 and to exchange data via the external LAN.

A network communication controller 2203 controls network communicationprotocols such as TCP/IP and the like, and exchanges data between thelocal side and external side.

An e-mail print application unit 2204 is required to transmit printinformation to the image processing apparatus 100 and to control it toprint the print information. Such print information is received as ane-mail message including print information, which is transmitted fromthe client PC 11 using an SMTP protocol or POP protocol.

A local address request unit 2205 transmits a local address requestpacket which requests the local address of the NIC 20.

The network communication controller 2203 examines all packets receivedby the local network driver 2201, and controls packets which are notrelated to the e-mail print application unit 2204 to pass through theapparatus to the external NIC 21-2. Also, the network communicationcontroller 2203 examines all packets received by the external NIC 21-2,and controls packets which are not related to the e-mail printapplication unit 2204 to pass through the apparatus to the local NIC20-2. Furthermore, upon reception of packets by the local network driver2201, the network communication controller 2203 checks if both the NICsof the extended control apparatus 101 are set with network addresses. Ifit is determined that both the NICs are set with network addresses, thenetwork communication controller 2203 controls packets other than thoseaddressed to its own apparatus to pass through the apparatus. If it isdetermined that both the NICs are not set with network addresses, thenetwork communication controller 2203 captures the received packetswithout passing them through. Upon reception of packets by the externalnetwork driver 2202, the network communication controller 2203 controlspackets other than those addressed to its own apparatus to pass throughthe apparatus irrespective of whether or not the network addresses areset.

A local address distribution unit (local address distribution module)2206 distributes the address of the local NIC of the extended controlapparatus, which is daisy-chain connected to the apparatus, in responseto a local address request packet.

<Startup Sequence Example of Extended Image Processing System of ThePresent Embodiment>

The local address request sequence according to the present embodimentwill be described below. More specifically, operations until the networkaddresses of the extended control apparatuses 101 and 102, which aredaisy-chain connected to the image processing apparatus 100, are set andthe image processing apparatus 100 communicates with a device on the LAN400 will be described.

FIG. 10 is a chart showing the local address request sequence from whenthe daisy-chain connected extended control apparatuses 101 and 102according to the present embodiment start up until they settle networksettings. Note that the time axis is assured to progress from the topdown in the vertical direction.

During a period from when the extended control apparatuses start upuntil they settle the network settings of the NICs, all packets receivedby the local NIC do not pass through the apparatus to the external NIC.In other words, all the packets received by the local NIC are capturedby the network communication controller. On the other hand, all packetsreceived by the external NIC pass through the apparatus to the localNIC.

(Sequence S1) The image processing apparatus 100 transmits an ARPrequest packet to the client PC 11 prior to communications with theclient PC 11 on the external network. The network communicationcontroller 2003 of the extended control apparatus 101 captures the ARPrequest packet, and acquires the source IP address and source MACaddress of that packet. Note that the extended control apparatus 101does not return any response to the ARP request packet. Therefore, theimage processing apparatus 100 re-transmits the ARP request packet tothe client PC 11 after an elapse of a predetermined period of time.

(Sequence S2) The local address request unit 2005 of the extendedcontrol apparatus 101 transmits a local address request packet addressedto the image processing apparatus 100 from the local NIC 20-1. Since theimage processing apparatus 100 does not incorporate any module that canrespond to the local address request packet, it does not return anyresponse.

(Sequence S3) The extended control apparatus 101 sets the source IPaddress and source MAC address acquired from the ARP request packet asthose of the external NIC 21-1. Note that since no response is returnedin response to the local address request packet, the extended controlapparatus 101 sets a value calculated from the IP address of theexternal NIC 21-1 (by adding or subtracting 1 from that address) as theIP address of the local NIC 20-1. In this way, the network settings ofthe extended control apparatus 101 are completed.

(Sequence S4) After the addresses of the local NIC 20-1 and external NIC21-1 of the extended control apparatus 101 are settled, the extendedcontrol apparatus 101 sends an SNMP Get request packet to the source ofthe ARP request packet so as to acquire the product name, device type,and the like.

(Sequence S5) If the appropriate product name, device type, and the likecan be acquired based on an SNMP Get response packet from the imageprocessing apparatus 100, the extended control apparatus 101 shifts to anormal operation state.

At this time, since the network settings of the NICs of the extendedcontrol apparatus 101 are settled, the network communication controller2003 of the extended control apparatus 101 passes through packets fromthe image processing apparatus 100 if they are not addressed to theapparatus. On the other hand, the network communication controller 2003passes packets from the external network through if they are notaddressed to its own apparatus.

(Sequence S6) The extended control apparatus 101 which determines theaddress of the local NIC 20-1 by itself launches the local addressdistribution module.

(Sequence S7) The image processing apparatus 100 re-sends an ARP requestpacket since the ARP request packet transmitted in sequence S1 resultsin an error. The network communication controller 2003 of the extendedcontrol apparatus 101 passes the ARP request packet which is notaddressed to the apparatus through. The network communication controller2203 of the extended control apparatus 102 captures the ARP requestpacket since network address settings are not completed, and acquiresthe source IP address and source MAC address of the packet. Note thatthe extended control apparatus 102 does not return any response to theARP request packet. Therefore, the image processing apparatus 101re-sends an ARP request packet addressed to the client PC 11 after anelapse of a predetermined period of time.

(Sequence S8) The local address request unit 2205 of the extendedcontrol apparatus 102 generates a local address request packet, andtransmits it from the local NIC 20-2 to the extended control apparatus101.

(Sequence S9) Upon reception of the local address request packet, thelocal address distribution module of the extended control apparatus 101returns a local address response packet which includes a local addressto be assigned to the extended control apparatus 102 in a data part.Note that the local address to be assigned is determined based on theaddress table 2006 a. Alternatively, the extended control apparatus 102may be notified of the local address set in the extended controlapparatus 101, and may determine an address which does not overlap thataddress.

(Sequence S10) The source IP address and source MAC address acquiredfrom the ARP request packet are set as those of the external NIC 21-2 ofthe extended control apparatus 102. Upon reception of the local addressresponse packet, the extended control apparatus 102 sets the addressincluded in the data part of the response packet as that of the localNIC 20-2. In this way, the network settings of the extended controlapparatus 102 are complete.

(Sequence S11) After the addresses of the local NIC 20-2 and externalNIC 21-2 are settled, the extended control apparatus 102 sends an SNMPGet request packet to the source of the ARP request packet in order toacquire the product name, device type, and the like.

(Sequence S12) If the appropriate product name, device type, and thelike can be acquired based on an SNMP Get response packet from the imageprocessing apparatus 100, the extended control apparatus 102 shifts to anormal operation state.

At this time, in the extended image processing system including theimage forming apparatus 100, extended control apparatus 10 i, andextended control apparatus 102, the normal operation state which is seenas one apparatus from the external LAN 400 is settled.

(Sequence S13) The image processing apparatus 100 transmits an ARPrequest packet again to the client PC 11 prior to communications withthe client PC 11 on the external network. That is, the image processingapparatus 100 re-sends an ARP request packet since the ARP requestpacket transmitted in sequence S7 resulted in an error. The networkcommunication controllers 2003 and 2203 of the extended controlapparatuses 101 and 102 pass the ARP request packet which is notaddressed to its own apparatuses through. The client PC 11 captures theARP request packet, and acquires the source IP address and source MACaddress of the packet. After that, the client PC 11 sends an ARPresponse including the MAC address of the client PC to the imageprocessing apparatus 100 as a response to the ARP request.

(Sequence S14) After that, the client PC 11 sends an SNMP Get requestpacket to the source of the ARP request packet so as to acquire theproduct name, device type, and the like.

(Sequence S15) The client PC 11 acquires the appropriate product name,device type, and the like based on an SNMP Get response packet from theimage processing apparatus 100, and makes access such as printprocessing or the like to the extended image processing system.

In the example shown in FIG. 10, the image processing apparatus 100repeats transmission of an ARP request packet in sequences S1, S7, andS13. However, the extended control apparatus 101 may alternativelytransmit an ARP request packet in sequence S7, and the extended controlapparatus 102 may alternatively transmit an ARP request packet insequence S13. Such processing can be implemented by adding analternative processing function to each extended control apparatus, andthe number of extended control apparatuses to which the image processingapparatus 100 is connected need not be taken into consideration,resulting in simple control.

(Operation Sequence Example of Image Processing Apparatus 100)

FIG. 11 is a flowchart showing an example of the processing sequence inthe image processing apparatus 100 upon settlement of the localaddresses according to the present embodiment.

In step S71, the apparatus is initialized at the time of startup. Afterthat, when the user operates the image processing apparatus 100 todesignate a communication with any device on the LAN 400, the controllerapparatus 110 sends an ARP request packet (source address A in thepresent embodiment) to that device in step S72.

In step S73, the controller apparatus 110 waits for reception of apacket. If a packet is received, the process advances to step S74 tocheck if the received packet is an SNMP Get request packet (see S1211and S1215 in FIG. 12). If it is determined in step S73 that the receivedpacket is not an SNMP Get request packet, the process returns to stepS73. Note that a predetermined period of time is set, and if the SNMPGet request packet cannot be received within the predetermined period oftime, a time-out error occurs. Upon reception of the SNMP Get requestpacket, the controller apparatus 110 returns an SNMP Get response packetincluding the appropriate product name, device type, and the like instep S75 (transmit SNMP Get response packet).

The controller apparatus 110 checks in step S76 if the local addressesof all the connected extended controller apparatuses are settled. If thelocal addresses are not settled yet, the process returns to step S72 tosend an ARP request packet again. If the local addresses of all theconnected extended controller apparatuses are settled, the controllerapparatus 110 enters the procedure of normal image processing.

In case of the arrangement in which the extended control apparatusalternatively sends an ARP request packet, step S76 is excluded.Furthermore, a route that returns from step S75 to step S73, and a routefor checking whether or not the received packet is an image processingrequest packet if it is determined in step 574 that the received packetis not an SNMP Get request packet may be added.

<Processing Sequence Example of Packet Controller of Extended ControlApparatus>

FIG. 12 is a flowchart showing an example of the processing sequence ofthe network communication controllers 2003 and 2203 of the extendedcontrol apparatuses 101 and 102 according to the present embodiment.

This processing is executed upon reception of packets by the local NIC20 during a period from when the extended control apparatuses 101 and102 start up until the addresses of the NICs are determined. Note that acase will be explained wherein processing is done using a commonflowchart independently of the connected positions of the extendedcontrol apparatuses 101 and 102, and expressions “local NIC 20” and“external NIC 21” will be used in the following description. However,different flowcharts may be used for the extended control apparatusconnected to the image processing apparatus 100 and other extendedcontrol apparatuses.

During a period from when the extended control apparatus starts up untilthe addresses of the NICs are determined, all packets received by thelocal NIC are captured without passing through the apparatus to theexternal NIC. All packets received by the external NIC pass through theapparatus to the local NIC.

The network communication controller checks in step S1201 if thereceived packet is a TCP/IP packet (i.e., to check if an ARP requestpacket is received). If the result is YES in step S1201, the processadvances to step S1202; otherwise, the process ends.

In step S1202, the network communication controller acquires the sourceaddress from the packet (address A of the image processing apparatus 100in the present embodiment). In step S1203, the network communicationcontroller sets acquired source address A as that of the external NIC21.

In step S1204, the network communication controller sends a localaddress request packet from the local NIC 20. The network communicationcontroller checks in step S1205 if a response is received. If the resultis YES in step S1205, the process advances to step S1206; otherwise, theprocess advances to step S1208.

If the extended control apparatus is directly connected to the imageprocessing apparatus 100 (in case of the extended control apparatus 101in the present embodiment), since the image processing apparatus 100does not incorporate any module that responds to the local addressrequest packet, no response returns. Hence, the process advances to stepS1208.

The network communication controller checks in step S1208 if the addressof the external NIC is an odd number. If the result is YES in stepS1208, the process advances to step S1209; otherwise, the processadvances to step S1210. In step S1209, the network communicationcontroller sets (the address of the external NIC+1) as that of the localNIC. In step S1210, the network communication controller sets (theaddress of the external NIC−1) as that of the local NIC.

In step S1211, the network communication controller sends an SNMP Getrequest packet from the local NIC in order to confirm whether the localNIC can communicate with the image processing apparatus 100. The imageprocessing apparatus 100 which incorporates an SNMP agent outputs aresponse packet in response to this SNMP packet. Since the extendedcontrol apparatus does not incorporate any SNMP agent, it does notrespond.

The network communication controller checks in step S1212 if a responseis received. If the result is YES in step S1212, the process advances tostep S1213; otherwise, the process terminates as an error in step S1214.In step S1213, the network communication controller launches the localaddress distribution module. After that, the launched local addressdistribution module processes a local address request packet received bythe external NIC.

If it is determined in step S1205 that the extended control apparatus isnot directly connected to the image processing apparatus 100 (in case ofthe extended control apparatus 102 in the present embodiment), the localaddress distribution module of the extended control apparatus 101responds to a local address request packet. Hence, the process advancesto step S1206.

In step S1206, the network communication controller acquires the localaddress from the local address response packet. In step S1207, thenetwork communication controller sets the acquired local address as thatof the local NIC 20.

In step S1215, the network communication controller sends an SNMP Getrequest packet from the local NIC in order to confirm whether the localNIC can communicate with the image processing apparatus 100. The imageprocessing apparatus 100 which incorporates an SNMP agent outputs aresponse packet in response to this SNMP packet. Since the extendedcontrol apparatus does not incorporate any SNMP agent, it does notrespond.

The network communication controller checks in step S1216 if a responseis received. If the result is YES in step S1216, the process ends sinceit is determined that the addresses are normally settled. If the resultis NO in step S1216, the process terminates as an error in step S1217.

As described above, the flowchart indicating the operation of theextended control apparatus (e.g., extended control apparatus 101)directly connected to the image processing apparatus without theintervention of another extended control apparatus between the imageprocessing apparatus and itself is defined by steps S1201 to S1205 andsteps S1208 to S1214. On the other hand, the flowchart indicating theoperation of the extended control apparatus (e.g., extended controlapparatus 102) directly connected to the image processing apparatus withthe intervention of another extended control apparatus between the imageprocessing apparatus and itself is defined by steps S1201 to S1207 andsteps S1215 to S1217.

<Processing Sequence Example of Local Address Distribution of ExtendedControl Apparatus>

FIG. 13 is a flowchart showing an example of the processing sequence ofthe local address distribution units (local address distributionmodules) 2006 and 2206 which run on the extended control apparatusesaccording to the present embodiment. This processing is executed uponreception of a packet by the external NIC.

The local address distribution module checks in step S1301 whether thereceived packet is a local address request packet. If the result is YESin step S1301, the process advances to step S1302; otherwise, theprocess ends.

In step S1302, the local address distribution module selects an addressfrom an address list registered in advance (see the address table 4106 ain FIG. 6 and the address table 2006 a in FIG. 7). More specifically, ifthe network address is determined in the extended control apparatus, thelocal address distribution unit 2006 registers network addresses to bedistributed in the address table 2006 a. The network addresses to beregistered can assume arbitrary values. For example, if the address ofthe local NIC is (address of the external NIC+1), the local addressdistribution unit registers network addresses with values obtained byadding 2, 3, 4, . . . , to the address of the external NIC in theaddress table. If the address of the local NIC is (address of theexternal NIC−1), the local address distribution unit registers networkaddresses with values obtained by subtracting 2, 3, 4, . . . , from theaddress of the external NIC in the address table. The number of networkaddresses to be registered can be an arbitrary value.

In step S1302, the local address distribution module selects addressesdifferent from the network addresses of the external NIC and local NICof itself from the network addresses registered in advance in theaddress table, and determines them as the addresses to be distributed tothe extended control apparatus 102. After the local address distributionmodule deletes the selected addresses from the address table 2006 a orchecks them to be able to identify that these addresses have alreadybeen selected, the process advances to step S1303.

In the description of the present embodiment, the network addresses tobe distributed are registered in the address table 2006 a.Alternatively, a method of registering the network address set foritself in the address table 2006 a may be adopted. That is, according tothe setting of the network address of itself, that value is written inthe address table. Then, upon reception of a local address requestpacket, an arbitrary address other than that registered in the addresstable may be generated and may be determined as the address to bedistributed. In this case, the address generated as those to bedistributed is additionally registered in the address table. In thisway, the identical network addresses can be prevented from beingdistributed to a plurality of extended control apparatuses.

In step S1303, the local address distribution module sets the selectedaddress in a response packet. In step S1304, the local addressdistribution module transmits the local address response packet from theexternal NIC, thus ending the processing.

<Configuration Example of Local Address Request/Response Packet of ThePresent Embodiment>

An implementation example of a local address request packet unique tothe present embodiment using the TCP/IP protocol will be describedbelow. The protocol required for the local address request packet uniqueto the present embodiment will be referred to as a configurator protocolhereinafter. In the present embodiment, the configurator protocol isimplemented on an UDP (User Datagram Protocol). Note that theconfigurator protocol allows communications based on the MAC addresswithout using any IP addresses. That is, the configurator protocolcommunicates with a device whose IP address is not set using the MACaddress, and can set an IP address or the like in that device. Thepresent embodiment communicates the local address request packet usingthe configurator protocol.

(Example of Packet Header)

FIG. 14 is an explanatory view showing an example of the packet headerof the configurator protocol.

The configurator protocol uses a UDP port number 0x83b6. Then, the IPaddress (Dest IP) of the destination in the request packet is set to be“255.255.255.255”, and the MAC address thereof (Dest MAC) is set to be“0xffffffffffffT”.

Note that the MAC address is a physical address unique to a device. Inthe case of Ethernet®, the MAC address has a 6-byte length. Of the6-byte length, the first 3 bytes are managed and assigned as a vendorcode by IEEE (Institute of Electrical and Electronic Engineers) Theremaining 3 bytes specify a code uniquely managed by each vendor (not tooverlap each other). As a result, there are no network devices havingthe same physical addresses worldwide, and all different addresses areassigned to network devices.

If the MAC address is “0xffffffffffff”, that packet is handled as abroadcast packet, and all network devices connected on the networkreceive this packet.

(Configuration Example of Data Part of Packet)

The data part of the packet in the configurator protocol will bedescribed below.

FIG. 15 is a schematic view showing the structure of the data part ofthe packet in the configurator protocol. Details of respectiveparameters are as follows.

(1) Version (2 bytes): indicates the version This version is assumed tobe 0x0301.

(2) Request code: a code indicating a function to be requested by thispacket

0: Set (set)

1: Get (browse)

2: NVRAM-Reset (reset by an NVRAM value)

3: Factory-Reset (reset by a factory initial value)

4: Discovery (find)

5: Local Address Request (local address request)

(3) Result code (2 bytes): a code indicating the requested result

0x0000: success

0x0001: abnormal media type

0x0002: no designated protocol stack

0x0003: abnormal version

0xFFFF: unspecified error

(4) Media type (2 bytes): indicates a communication medium

0: Ethernet®

(5) Protocol information: a flag corresponding to each individualprotocol information When the Request code is 0 (set), only informationassociated with a protocol with the corresponding byte=“1” is set.

(6) NetWare information: a field used to set and browse informationassociated with Netware

Frame type (2 bytes): a frame type used in NetWare

<EtherNet>

0: Disable (NetWare disabled)

1: 802.3

2: 802.2

4: EtherNet II

8: 802.2SNAP

(7) TCP/IP information: a field used to set and browse informationassociated with TCP/IP

Frame type (2 bytes): a frame type used in TCP/IP

0: Disable (TCP/IP disabled)

4: EtherNet II

IP Mode (2 bytes)

Operation mode (2 bytes)

The following values are ORed upon browsing.

0: IP fixed (launched based on an NVRAM value)

1: BOOTP valid

2: RARP valid

4: DHCP valid

IP address (4 bytes): an IP address of a network board

Gateway address (4 bytes): a gateway of the network board

Subnet mask (4 bytes): a subnet mask of the network board

Broadcast address (4 bytes): a broadcast address of the network board

(8) AppleTalk information: a field used to set and browse informationassociated with AppleTalk

Frame type (2 bytes); a frame type used in AppleTalk

0: Disable (AppleTalk disabled)

2: Phase2

(9) MAC address: a MAC address of the board

If the MAC address value stored in this field does not match that of thenetwork address except for a case in which the Request code 4(Discovery), this packet is ignored.

Note that individual values are determined to be values called factoryinitial values determined in advance upon factory shipping.

Using such a configurator protocol, a local address request can betransmitted, and a local address to be set can be acquired via a localaddress response.

Other Embodiments

The present embodiment has been explained as an image processing systemas an extended image processing apparatus. However, the presentinvention relates to the settings of the local addresses of daisy-chainconnected extended function units, and can be applied to any othersystems without being limited to the image processing apparatus. Thepresent invention also includes such applications.

In the present embodiment, the processing described so far can besimilarly executed for a case wherein the connection order of theextended control apparatuses 101 and 102 is reversed or even a casewherein another extended control apparatus is added. Furthermore, whenanother extended control apparatus is added, the added extended controlapparatus transmits a local address request packet to the extendedcontrol apparatus 101. The local address distribution unit 2006 of theextended control apparatus 101 selects an address which is not assignedto any apparatus from those registered in the address table 2006 a, anddetermines it as an address to be distributed to the added extendedcontrol apparatus.

Moreover, the present invention explained the case that each extendedcontrol apparatus physically includes two network interface cards.However, these network interface cards may be physically incorporated asone board. In other words, each extended control apparatus may includeeach communication unit with the local network and the external network.For example, the network interface card 20-1 and network interface card21-1 shown in FIG. 6 may be a united structure.

In the description of the present embodiment, the extended controlapparatus 101 provides the secure print function, and the extendedcontrol apparatus 102 provides the e-mail print function. However, thepresent invention is not limited to such specific functions. Forexample, various removable storages (a magneto-optical media drive, USBstorage, memory card represented by SmartMedia™, CompactFlash™, or thelike, and so forth) are connected as peripheral devices to the extendedcontrol apparatus. The present invention may be applied to a mediaapplication function that passes documents stored in memory media to theimage processing apparatus 100 to print, transmit, or file them. Also,the present invention may be applied to a media application functionthat allows the image processing apparatus 100 to receive image-scannedor received documents or filed documents and to store them in memorymedia. Also, one extended control apparatus may provide a plurality offunctions.

The local interface is an optional interface used to provide a dedicatedcommunication route between two devices, and is implemented by USB, adedicated bus, or the like. Also, the local interface may be implementedby tunneling packets via frames applied to the local interface.

Furthermore, program codes and related data according to the presentinvention are stored in a floppy™ disk (FD) or CD-ROM, and are suppliedto a computer from there. The objects of the present invention areachieved by supplying a storage medium, which records a program code ofa software program that can implement the functions of theabove-mentioned embodiments to a computer or image processing apparatus,and reading out and executing the program code stored in the storagemedium by a computer (or a CPU or MPU) of the computer or imageprocessing apparatus.

As a method of supplying programs and data to a computer, it is a commonpractice to adopt a method of storing the programs and data in a floppy™disk and supplying them to a computer main body (via a floppy™ diskdrive). In this case, the program code itself read out from the storagemedium implements the functions of the above-mentioned embodiments, andthe storage medium which stores the program code constitutes the presentinvention.

As the storage medium used to supply the program code, an optical disk,magneto-optical disk, CD, DVD, magnetic tape, nonvolatile memory card,ROM, and the like may be used in addition to the floppy™ disk, harddisk, and the like. The CD includes a CD-ROM and CD-R, and the DVDincludes a DVD-ROM, DVD±R/RW, and DVD-RAM.

The functions of the aforementioned embodiments are implemented not onlyby executing the program code read out by the computer or imageprocessing apparatus. The present invention also includes a case whereinthe functions of the aforementioned embodiments are implemented by someor all actual processing operations which are executed by an OS(operating system) running on the computer or image processing apparatusbased on instructions of the program code.

Furthermore, the present invention includes a case wherein the programcode read out from a storage medium is written in a memory of anexpansion card or a function expansion unit which is inserted into orconnected to the computer. After that, the functions of theaforementioned embodiments are implemented by some or all of actualprocesses executed by a CPU or the like arranged in the functionexpansion card or unit based on the instruction of that program code.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

This application claims the benefit of Japanese Patent No. 2006-083868,filed Mar. 24, 2006, which is hereby incorporated by reference herein inits entirety.

1. An information processing apparatus which can communicate with animage processing apparatus, said information processing apparatuscomprising: a first network interface adapted to connect the imageprocessing apparatus via a network; a second network interface adaptedto connect other information processing apparatus via a network; a firstsetting unit adapted to set a network address of the image processingapparatus as a network address of said second network interface; asecond setting unit adapted to set a network address different from thenetwork address set by said first setting unit as a network address ofsaid first network interface; a first determining unit adapted todetermine a network address different from the network address set bysaid first setting unit and the network address set by said secondsetting unit as a network address of the other information processingapparatus based on the network address set by said first setting unitand the network address set by said second setting unit; and atransmitting unit adapted to transmit the network address determined bysaid first determining unit to the other information processingapparatus.
 2. The apparatus according to claim 1, further comprising areceiving unit adapted to receive an ARP request packet transmitted fromthe image processing apparatus, wherein said first setting unit sets asource network address of the ARP request packet as the network addressof said second network interface.
 3. The apparatus according to claim 1,wherein said transmitting unit transmits the network address determinedby said first determining unit to the other information processingapparatus in response to a request from the other information processingapparatus.
 4. The apparatus according to claim 1, further comprising: aquery unit adapted to send a query about a network address to be set insaid first network interface to the image processing apparatus; and asecond determining unit adapted to determine, when a response to thequery sent from said query unit is not received, a network addressdifferent from the network address set by said first setting unit,wherein said second setting unit sets the network address determined bysaid second determining unit as the network address of said firstnetwork interface.
 5. The apparatus according to claim 1, furthercomprising a storage unit adapted to store a plurality of networkaddress candidates to be transmitted to the other information processingapparatus, wherein said first determining unit determines a networkaddress different from the network address set by said first settingunit and the network address set by said second setting unit as anetwork address of the other information processing apparatus from theplurality of network address candidates stored in said storage unit. 6.The apparatus according to claim 1, wherein said image processingapparatus is a printer, and said information processing apparatus is anapparatus that provides one of a secure print function and an e-mailprint function.
 7. An information processing apparatus which cancommunicate with an image processing apparatus, said informationprocessing apparatus comprising: a network interface adapted to connectthe image processing apparatus and other information processingapparatus via a network; a first setting unit adapted to set a networkaddress of the image processing apparatus as a network address of saidnetwork interface; a second setting unit adapted to set a networkaddress different from the network address set by said first settingunit as a network address of said network interface; a first determiningunit adapted to determine a network address different from the networkaddress set by said first setting unit and the network address set bysaid second setting unit as a network address of the other informationprocessing apparatus based on the network address set by said firstsetting unit and the network address set by said second setting unit;and a transmitting unit adapted to transmit the network addressdetermined by said first determining unit to the other informationprocessing apparatus.
 8. An information processing apparatus which cancommunicate with an image processing apparatus, said informationprocessing apparatus comprising: a first network interface adapted toconnect other information processing apparatus, which is connected tothe image processing apparatus via a first network, via a second networkdifferent from the first network; a second network interface adapted toconnect a third network different from the first network and the secondnetwork; a first setting unit adapted to set a network address of theimage processing apparatus as a network address of said second networkinterface; a receiving unit adapted to receive a network addressdifferent from a network address set in the other information processingapparatus from the other information processing apparatus; and a secondsetting unit adapted to set the network address received by saidreceiving unit as a network address of said first network interface. 9.The apparatus according to claim 8, wherein said image processingapparatus is a printer, and said information processing apparatus is anapparatus that provides one of a secure print function and an e-mailprint function.
 10. An information processing apparatus which cancommunicate with an image processing apparatus, said informationprocessing apparatus comprising: a first network interface adapted toconnect other information processing apparatus, which is connected tothe image processing apparatus via a first network, via a second networkdifferent from the first network; a second network interface adapted toconnect a third network different from the first network and the secondnetwork; a first setting unit adapted to set a network address of theimage processing apparatus as a network address of said second networkinterface; a receiving unit adapted to receive a network addressdifferent from a network address set in the other information processingapparatus from the other information processing apparatus; and a secondsetting unit adapted to set a network address different from the networkaddress received by said receiving unit as a network address of saidfirst network interface.
 11. The apparatus according to claim 10,wherein said image processing apparatus is a printer, and saidinformation processing apparatus is an apparatus that provides one of asecure print function and an e-mail print function.
 12. A method ofcontrolling an information processing apparatus which can communicatewith an image processing apparatus, said method comprising: a firstsetting step of setting a network address of the image processingapparatus as a network address of a second network interface out of afirst network interface adapted to connect the image processingapparatus via a network, and the second network interface adapted toconnect other information processing apparatus via a network; a secondsetting step of setting a network address different from the networkaddress set in the first setting step as a network address of the firstnetwork interface; a first determining step of determining a networkaddress different from the network address set in the first setting stepand the network address set in the second setting step as a networkaddress of the other information processing apparatus based on thenetwork address set in the first setting step and the network addressset in the second setting step; and a transmitting step of transmittingthe network address determined in the first determining step to theother information processing apparatus.
 13. The method according toclaim 12, further comprising a receiving step of receiving an ARPrequest packet transmitted from the image processing apparatus, and inthe first setting step, a source network address of the ARP requestpacket is set as the network address of the second network interface.14. The method according to claim 12, wherein in the transmitting step,the network address determined in the first determining step istransmitted to the other information processing apparatus in response toa request from the other information processing apparatus.
 15. Themethod according to claim 12, further comprising: a query step ofsending a query about a network address to be set in the first networkinterface to the image processing apparatus; and a second determiningstep of determining, when a response to the query is not received, anetwork address different from the network address set in the firstsetting step, wherein in the second setting step, the network addressdetermined in the second determining step is set as the network addressof the first network interface.
 16. The method according to claim 12,wherein in the first determining step, a network address different fromthe network address set by the first setting step and the networkaddress set by the second setting step is determined as a networkaddress of the other information processing apparatus from plurality ofnetwork address candidates stored in a storage unit adapted to store aplurality of network address candidates to be transmitted to the otherinformation processing apparatus.
 17. A method of controlling aninformation processing apparatus which can communicate with an imageprocessing apparatus, said method comprising: a first setting step ofsetting a network address of the image processing apparatus as a networkaddress of a second network interface out of a first network interfaceadapted to connect other information processing apparatus, which isconnected to the image processing apparatus via a first network, via asecond network different from the first network, and the second networkinterface adapted to connect a third network different from the firstnetwork and the second network; a receiving step of receiving a networkaddress different from a network address set in the other informationprocessing apparatus from the other information processing apparatus;and a second setting step of setting the network address received in thereceiving step as a network address of the first network interface. 18.A method of controlling an information processing apparatus which cancommunicate with an image processing apparatus, said method comprising:a first setting step of setting a network address of the imageprocessing apparatus as a network address of a second network interfaceout of a first network interface adapted to connect other informationprocessing apparatus, which is connected to the image processingapparatus via a first network, via a second network different from thefirst network, and the second network interface adapted to connect athird network different from the first network and the second network; areceiving step of receiving a network address different from a networkaddress set in the other information processing apparatus from the otherinformation processing apparatus; and a second setting step of setting anetwork address different from the network address received in thereceiving step as a network address of the first network interface. 19.A computer-executable program which implements a method of controllingan information processing apparatus which can communicate with an imageprocessing apparatus, said program being comprising: a first settingstep of setting a network address of the image processing apparatus as anetwork address of a second network interface out of a first networkinterface adapted to connect the image processing apparatus via anetwork, and the second network interface adapted to connect otherinformation processing apparatus via a network; a second setting step ofsetting a network address different from the network address set in thefirst setting step as a network address of the first network interface;a first determining step of determining a network address different fromthe network address set in the first setting step and the networkaddress set in the second setting step as a network address of the otherinformation processing apparatus based on the network address set in thefirst setting step and the network address set in the second settingstep; and a transmitting step of transmitting the network addressdetermined in the first determining step to the other informationprocessing apparatus.
 20. A computer-executable program which implementsa method of controlling an information processing apparatus which cancommunicate with an image processing apparatus, said program beingcomprising: first setting step of setting a network address of the imageprocessing apparatus as a network address of a second network interfaceout of a first network interface adapted to connect other informationprocessing apparatus, which is connected to the image processingapparatus via a first network, via a second network different from thefirst network, and the second network interface adapted to connect athird network different from the first network and the second network;receiving step of receiving a network address different from a networkaddress set in the other information processing apparatus from the otherinformation processing apparatus; and second setting step of setting thenetwork address received in the receiving step as a network address ofthe first network interface.
 21. A computer-executable program whichimplements a method of controlling an information processing apparatuswhich can communicate with an image processing apparatus, said programbeing comprising: first setting step of setting a network address of theimage processing apparatus as a network address of a second networkinterface out of a first network interface adapted to connect otherinformation processing apparatus, which is connected to the imageprocessing apparatus via a first network, via a second network differentfrom the first network, and the second network interface adapted toconnect a third network different from the first network and the secondnetwork; receiving step of receiving a network address different from anetwork address set in the other information processing apparatus fromthe other information processing apparatus; and second setting step ofsetting a network address different from the network address received inthe receiving step as a network address of the first network interface.